package com.carpedil.proxy.dao.impl;

import com.carpedil.proxy.dao.IUserDao;

/**
 * 1. 这个代理要和IUserDao有相同的方法 2. 代理只是对IUserDao进行增强，真正做事的还是UserDao
 * 因此，代理就要实现IUserDao接口，这样的话，代理就跟IUserDao有相同的方法了。
 *
 * @author Administrator
 */
public class UserDaoStaticProxy implements IUserDao {

  /** 实现IUserDao，保持和IUserDao一样的方法 并且将IUserDao作为自身的一个属性，这里实际需要的是IUserDao的实现类UserDaoImpl */
  private IUserDao target;

  public UserDaoStaticProxy(IUserDao target) {
    this.target = target;
  }

  @Override
  public void save() {
    System.out.println("静态代理开始....");
    target.save();
    System.out.println("静态代理结束....");
  }
}
